package com.gbk.clickhouseservicestruct.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.myweb.ck.mapping.ChTable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import java.util.Date;

/**
 * @Project: nacos-server-parent
 * @Package: com.les.its.ds.model
 * @Author： mujian
 * @Create： 2023/3/7 20:15
 * @Description： TODO
 * @History: modify
 */
@ChTable(name = "tig.T_TIG_CROSS_INDEX")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TIG_CROSS_INDEX {
    private String id;

    private String cross_id;

    /**
     * 拥堵指数
     */
    private Double congestion_index;

    /**
     * '失衡指数'
     */
    private Double imbalance_index;

    /**
     * 拥堵指数 峰值
     */
    private Double congestion_max;

    /**
     * '拥堵指数峰值时间'
     */
    @Temporal(TemporalType.TIMESTAMP)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date congestion_max_time;

    /**
     * '失衡指数峰值'
     */
    private Double imbalance_max;

    /**
     * '失衡指数峰值时刻'
     */
    @Temporal(TemporalType.TIMESTAMP)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date imbalance_max_time;

    /**
     * 0:畅通、1:溢出、2放行合适、3、拥堵
     */
    private Integer status_flag;

    /**
     * 状态持续时间（单位min）
     */
    private Integer status_cont_min;

    /**
     * 拥堵同比（正负号）
     */
    private Double congestion_diff;

    /**
     * 失衡同比（正负号）
     */
    private Double imbalance_diff;

    /**
     * '时段开始时间'
     */
    private Integer time_interval_start;

    /**
     * '流向拥堵指数'
     */
    private String dir_congestion;

    /**
     * 流向拥堵持续时间
     */
    private String dir_status_cont_min;

    /**
     * 等灯个数
     */
    private Integer wait_num;

    /**
     * 服务水平
     */
    private Integer service_level;

    /**
     * 服务等级 0 正常， 1 低效  2拥堵
     */
    private Integer crossing_efficiency;

    /**
     * 统计时间
     */
    @Temporal(TemporalType.TIMESTAMP)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date dec_time;
}
